/*
 * 这种会掉方式的弊端
 * 1.自己封装的，就要必须设计好callback的名称
 * 2.如果使用的是别人写的，就要去查看别人的文档，才知道怎么用
*/

// request.js
function requestData(url, successCallback, failtureCallback) {
  // 模拟网络请求
  setTimeout(() => {
    // 拿到请求的结果
    // url正确则成功
    if(url === "user") {
      let names = ["aaa", "bbb", "ccc"]
      successCallback(names)
    } else {
    // 否则失败
    failtureCallback("请求失败")
    }
    

  }, 3000)
}


// main.js
requestData("user", (res) => {
  console.log(res)
}, (err) => {
  console.log(err);
})

// 更好的方案 承诺
function requestData2() {
  return "承诺"
}

const promise = requestData2()

